// pages/listedit/listedit.js
const db = wx.cloud.database();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    itemViewHieght: 500,
    listItems: [],
    book_id: "",
    type:"audio"
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.data.book_id = options.book_id;
    this.getSystemInfo();
    this.initListItems();
  },
  initListItems: function () {
    var that = this;
    var book_id = that.data.book_id;
    wx.cloud.callFunction({
      name: 'list_items_by_book_id',
      data: {
        book_id: book_id
      },
      complete: res => {
        var list_items = res.result.data;
        console.log(list_items);
        if (list_items.length == 0) {
          for (var i = 0; i < 50; i++) {
            var num = (i+1) + "";
            if(num.length==1){
              num = "00" +num;
            }else if(num.length == 2){
              num = "0" + num;
            }
            list_items.push({
              _id: "",
              list_name: num,
              list_url:"https://7265-release-qjau8-1302231834.tcb.qcloud.la/ludingji/"+num+".mp3?sign=ac5f682e600db780cd8f35419d741ccb&t=1618971402",
              book_id: that.data.book_id
            });
          }
        }

        that.setData({
          listItems: list_items
        });
      },
      error: function (e) {
        console.log(e);
      }
    })
  },
  itemTxtInput: function (e) {
    var idx = e.currentTarget.dataset.idx;
    this.data.listItems[idx].list_name = e.detail.value;
  },
  itemUrlInput:function(e){
    var idx = e.currentTarget.dataset.idx;
    this.data.listItems[idx].list_url = e.detail.value;
  },
  save: function (e) {
    //循环每一项，如果name != '' 
    //如果_id为空 插入，否则 修改
    var that = this;
    console.log(that.data.listItems);
    for (var i = 0; i < that.data.listItems.length; i++) {
      var item = that.data.listItems[i];
      if (item.list_name != "") {
        if (!item._id) { 
          //插入
          db.collection('list_items').add({
            // data 字段表示需新增的 JSON 数据
            data: {
              list_name:item.list_name,
              list_url:item.list_url,
              book_id:item.book_id,
              type:this.data.type,
              sort:i+1
            },
            success: function (res) {
              // res 是一个对象，其中有 _id 字段标记刚创建的记录的 id
             console.log("添加成功");
            },
            fail: function (e) {
              wx.showToast({
                title: '添加失败'
              })
            }
          })
        } else { 
          //修改
          db.collection('list_items').doc(item._id).update({
            // data 传入需要局部更新的数据
            data: {
              list_name:item.list_name,
              list_url:item.list_url,
              sort:i+1
            },
            success: function (res) {
              console.log("修改成功");
            }
          })
        }
      }
    }
  },
  editContent: function (e) {
    var idx = e.currentTarget.dataset.idx;
    var _id = this.data.listItems[idx]._id;
    wx.navigateTo({
      url: '/pages/contentedit/contentedit?item_id=' + _id,
    }) 
  },
  addList: function (e) {
    var idx = e.currentTarget.dataset.idx;
    this.data.listItems.splice(idx + 1, 0, {
      id: idx,
      list_name: '',
      book_id:this.data.book_id,
      type: 'txt'
    });
    this.setData({
      listItems: this.data.listItems
    });
  },
  delList: function (e) {
    var idx = e.currentTarget.dataset.idx;
    this.data.listItems.splice(idx, 1);
    this.setData({
      listItems: this.data.listItems
    });
  },
  getIndexById(_id) {
    for (var i = 0; i < this.data.listItems.length; i++) {
      if (this.data.listItems[i]._id == _id) {
        return i;
      }
    }
  },
  getSystemInfo: function () {
    var that = this;
    // 获取系统信息
    wx.getSystemInfo({
      success: function (res) {
        // 可使用窗口宽度、高度 
        // 计算主体部分高度,单位为px
        that.setData({
          // second部分高度 = 利用窗口可使用高度 - first部分高度（这里的高度单位为px，所有利用比例将300rpx转换为px）
          itemViewHieght: res.windowHeight - 40
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})